'''在平面直角坐标系中，两点可以确定一条直线。如果有多点在一条直线上，那么这些点中任意两点确定的直线是同—条。
给定平面上2×3个整点(a, y)|0 ≤T <2,0≤y <3, r ∈ Z, y ∈Z，即横4标是0到1(包含0和1)之间的整数、纵坐标是0到2(包含0和2)之间的整数的点。这些点—共确定了11条不同的直线。
给定平面上20×21个整点(a , y)|0 ≤a<20,0≤y <21, a ∈ Z, y ∈ Z，即横坐标是0到19(包含0和19)之间的整数、纵坐标是0到20(包含0和20)之间的整数的点。
请问这些点一共确定了多少条不同的直线'''
代码；
import os
import sys

# 请在此输入您的代码
lines_s = set()#用于存储所有直线的斜率和截距
#1.先从41开始，即已经算上斜率不存在(20)和斜率为0(21)的直线条数
lines = 41
#2.再遍历坐标系上剩余直线，即遍历任意两个不同的点(x1,y1)和(x2,y2)，将该直线的斜率和截距存入lines_s
for x1 in range(20):#点0-19
  for y1 in range(21):#点0-20
    for x2 in range(20):
      for y2 in range(20):
        #如果两点不相同,则该两点形成一条直线
        if x1 != x2 and y1 != y2:
          k = (y2-y1)/(x2-x1)
          b = (x2*y1-x1*y2)/(x2-x1)
          #如果该直线的斜率和截距均不在集合中，则将其添加到集合中
          if (k,b) not in lines_s:
            lines_s.add((k,b))
            lines += 1#并且将直线条数加1
print(lines)